#ifndef WORLD_HPP
#define WORLD_HPP

#include "Level/LevelLoader.hpp"
#include "Level/Level.hpp"
#include "Objects/Player.hpp"

class World
{
    private:
        LevelLoader m_lvlLoader;
        Player m_player;
		std::vector<std::string> levels;
		int currentLevel;

    public:
        World();
        ~World();

        bool load();
        void update();

        const Player& player() const;

        // change the player's state
        void setPlayerState(GameObject::State state);
		int goToNextLevel();
		void resetPlayerPosition();

        const Level& getCurrentLevel()const;
};

#endif
